namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Simple Button class</summary>
	/// <definedin>src\widgets\Button.js</definedin>
	[ScriptName("Button")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class Button : ext.BoxComponent
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">The config object</param>
		public Button(ext.Button_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public Button()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>Set a DOM tabIndex for this button (defaults to undefined)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("tabIndex")]
		public System.Number TabIndex;
		
		/// <summary>False to not allow a pressed Button to be depressed (defaults to undefined). Only valid when {@link #enableToggle} is true.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("allowDepress")]
		public bool AllowDepress;
		
		/// <summary>True to enable pressed/not pressed toggling (defaults to false)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("enableToggle")]
		public bool EnableToggle;
		
		/// <summary>Function called when a Button with {@link #enableToggle} set to true is clicked. Two arguments are passed:  button : Ext.Button this Button object   state : Boolean The next state of the Button, true means pressed.</summary>
		/// <htmlSummary>
		/// Function called when a Button with {@link #enableToggle} set to true is clicked. Two arguments are passed:&lt;ul class=&quot;mdetail-params&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;button&lt;/b&gt; : Ext.Button&lt;div class=&quot;sub-desc&quot;&gt;this Button object&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;state&lt;/b&gt; : Boolean&lt;div class=&quot;sub-desc&quot;&gt;The next state of the Button, true means pressed.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("toggleHandler")]
		public System.Delegate ToggleHandler;
		
		/// <summary>Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined).</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menu")]
		public object Menu;
		
		/// <summary>The position to align the menu to (see {@link Ext.Element#alignTo} for more details, defaults to &apos;tl-bl?&apos;).</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menuAlign")]
		public string MenuAlign;
		
		/// <summary>
		/// If used in a {@link Ext.Toolbar Toolbar}, the
		/// text to be used if this item is shown in the overflow menu. See also
		/// {@link Ext.Toolbar.Item}.{@link Ext.Toolbar.Item#overflowText overflowText}.
		/// </summary>
		/// <htmlSummary>
		/// If used in a {@link Ext.Toolbar Toolbar}, the
		/// text to be used if this item is shown in the overflow menu. See also
		/// {@link Ext.Toolbar.Item}.&lt;code&gt;{@link Ext.Toolbar.Item#overflowText overflowText}&lt;/code&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("overflowText")]
		public string OverflowText;
		
		/// <summary>A css class which sets a background image to be used as the icon for this button</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("iconCls")]
		public string IconCls;
		
		/// <summary>submit, reset or button - defaults to &apos;button&apos;</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("type")]
		public string Type;
		
		/// <summary>
		/// The DOM event that will fire the handler of the button. This can be any valid event name (dblclick, contextmenu).
		/// Defaults to &apos;click&apos;.
		/// </summary>
		/// <htmlSummary>
		/// The DOM event that will fire the handler of the button. This can be any valid event name (dblclick, contextmenu).
		/// Defaults to &lt;tt&gt;&apos;click&apos;&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("clickEvent")]
		public string ClickEvent;
		
		/// <summary>False to disable visual cues on mouseover, mouseout and mousedown (defaults to true)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("handleMouseEvents")]
		public bool HandleMouseEvents;
		
		/// <summary>The type of tooltip to use. Either &apos;qtip&apos; (default) for QuickTips or &apos;title&apos; for title attribute.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("tooltipType")]
		public string TooltipType;
		
		/// <summary>
		/// (Optional) A {@link Ext.DomQuery DomQuery} selector which is used to extract the active, clickable element from the
		/// DOM structure created.  When a custom {@link #template} is used, you must ensure that this selector results in the selection of
		/// a focussable element.  Defaults to &apos;button:first-child&apos;.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;(Optional) A {@link Ext.DomQuery DomQuery} selector which is used to extract the active, clickable element from the
		/// DOM structure created.&lt;/p&gt;
		/// &lt;p&gt;When a custom {@link #template} is used, you must ensure that this selector results in the selection of
		/// a focussable element.&lt;/p&gt;
		/// &lt;p&gt;Defaults to &lt;b&gt;&lt;tt&gt;&apos;button:first-child&apos;&lt;/tt&gt;&lt;/b&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("buttonSelector")]
		public string ButtonSelector;
		
		/// <summary>(Optional) The size of the Button. Three values are allowed:   &apos;small&apos; Results in the button element being 16px high.   &apos;medium&apos; Results in the button element being 24px high.   &apos;large&apos; Results in the button element being 32px high.    Defaults to &apos;small&apos;.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;(Optional) The size of the Button. Three values are allowed:&lt;/p&gt;
		/// &lt;ul class=&quot;mdetail-params&quot;&gt;
		/// &lt;li&gt;&apos;small&apos;&lt;div class=&quot;sub-desc&quot;&gt;Results in the button element being 16px high.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&apos;medium&apos;&lt;div class=&quot;sub-desc&quot;&gt;Results in the button element being 24px high.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&apos;large&apos;&lt;div class=&quot;sub-desc&quot;&gt;Results in the button element being 32px high.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// &lt;p&gt;Defaults to &lt;b&gt;&lt;tt&gt;&apos;small&apos;&lt;/tt&gt;&lt;/b&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("scale")]
		public string Scale;
		
		/// <summary>
		/// The scope (this reference) in which the
		/// {@link #handler} and {@link #toggleHandler} is
		/// executed. Defaults to this Button.
		/// </summary>
		/// <htmlSummary>
		/// The scope (&lt;tt&gt;&lt;b&gt;this&lt;/b&gt;&lt;/tt&gt; reference) in which the
		/// &lt;code&gt;{@link #handler}&lt;/code&gt; and &lt;code&gt;{@link #toggleHandler}&lt;/code&gt; is
		/// executed. Defaults to this Button.
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("scope")]
		public object Scope;
		
		/// <summary>(Optional) The side of the Button box to render the icon. Four values are allowed:   &apos;top&apos;    &apos;right&apos;    &apos;bottom&apos;    &apos;left&apos;     Defaults to &apos;left&apos;.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;(Optional) The side of the Button box to render the icon. Four values are allowed:&lt;/p&gt;
		/// &lt;ul class=&quot;mdetail-params&quot;&gt;
		/// &lt;li&gt;&apos;top&apos;&lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&apos;right&apos;&lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&apos;bottom&apos;&lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&apos;left&apos;&lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// &lt;p&gt;Defaults to &lt;b&gt;&lt;tt&gt;&apos;left&apos;&lt;/tt&gt;&lt;/b&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("iconAlign")]
		public string IconAlign;
		
		/// <summary>
		/// (Optional) The side of the Button box to render the arrow if the button has an associated {@link #menu}.
		/// Two values are allowed:   &apos;right&apos;    &apos;bottom&apos;     Defaults to &apos;right&apos;.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;(Optional) The side of the Button box to render the arrow if the button has an associated {@link #menu}.
		/// Two values are allowed:&lt;/p&gt;
		/// &lt;ul class=&quot;mdetail-params&quot;&gt;
		/// &lt;li&gt;&apos;right&apos;&lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&apos;bottom&apos;&lt;div class=&quot;sub-desc&quot;&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// &lt;p&gt;Defaults to &lt;b&gt;&lt;tt&gt;&apos;right&apos;&lt;/tt&gt;&lt;/b&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("arrowAlign")]
		public string ArrowAlign;
		
		/// <summary>
		/// A {@link Ext.Template Template} used to create the Button&apos;s DOM structure. 
		/// Instances, or subclasses which need a different DOM structure may provide a different
		/// template layout in conjunction with an implementation of {@link #getTemplateArgs}.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A {@link Ext.Template Template} used to create the Button&apos;s DOM structure.&lt;/p&gt;
		/// Instances, or subclasses which need a different DOM structure may provide a different
		/// template layout in conjunction with an implementation of {@link #getTemplateArgs}.
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("template")]
		public ext.Template Template;
		
		/// <summary>A CSS class string to apply to the button&apos;s main element.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("cls")]
		public string Cls;
		
		/// <summary>
		/// By default, if a width is not specified the button will attempt to stretch horizontally to fit its content.
		/// If the button is being managed by a width sizing layout (hbox, fit, anchor), set this to false to prevent
		/// the button from doing this automatic sizing.
		/// Defaults to undefined.
		/// </summary>
		/// <htmlSummary>
		/// By default, if a width is not specified the button will attempt to stretch horizontally to fit its content.
		/// If the button is being managed by a width sizing layout (hbox, fit, anchor), set this to false to prevent
		/// the button from doing this automatic sizing.
		/// Defaults to &lt;tt&gt;undefined&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("autoWidth")]
		public bool AutoWidth;
		
		/// <summary>Fires when this button is clicked</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("clickEventName")]
		public const string ClickEventName = "click";
		
		/// <summary>Fires when the &apos;pressed&apos; state of this button changes (only if enableToggle = true)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("toggleEventName")]
		public const string ToggleEventName = "toggle";
		
		/// <summary>Fires when the mouse hovers over the button</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("mouseoverEventName")]
		public const string MouseoverEventName = "mouseover";
		
		/// <summary>Fires when the mouse exits the button</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("mouseoutEventName")]
		public const string MouseoutEventName = "mouseout";
		
		/// <summary>If this button has a menu, this event fires when it is shown</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menushowEventName")]
		public const string MenushowEventName = "menushow";
		
		/// <summary>If this button has a menu, this event fires when it is hidden</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menuhideEventName")]
		public const string MenuhideEventName = "menuhide";
		
		/// <summary>If this button has a menu, this event fires when the mouse enters the menu triggering element</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menutriggeroverEventName")]
		public const string MenutriggeroverEventName = "menutriggerover";
		
		/// <summary>If this button has a menu, this event fires when the mouse leaves the menu triggering element</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menutriggeroutEventName")]
		public const string MenutriggeroutEventName = "menutriggerout";
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("autoEl")]
		public string AutoEl;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("html")]
		public ext.auto.System_String_Or_System_Object Html;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("contentEl")]
		public string ContentEl;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("data")]
		public object Data;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("tpl")]
		public object Tpl;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("tplWriteMode")]
		public string TplWriteMode;
		#endregion
		
		#region Properties
		/// <summary>Read-only. True if this button is hidden</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("hidden")]
		[IntrinsicProperty()]
		public bool Hidden
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>Read-only. True if this button is disabled</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("disabled")]
		[IntrinsicProperty()]
		public bool Disabled
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>Read-only. True if this button is pressed (only if enableToggle = true)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("pressed")]
		[IntrinsicProperty()]
		public bool Pressed
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>The {@link Ext.menu.Menu Menu} object associated with this Button when configured with the {@link #menu} config option.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menu")]
		[IntrinsicProperty()]
		public ext.menu.Menu MenuProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// An {@link Ext.Element Element} encapsulating the Button&apos;s clickable element. By default,
		/// this references a &amp;lt;button&amp;gt; element. Read only.
		/// </summary>
		/// <htmlSummary>
		/// An {@link Ext.Element Element} encapsulating the Button&apos;s clickable element. By default,
		/// this references a &lt;tt&gt;&amp;lt;button&amp;gt;&lt;/tt&gt; element. Read only.
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("btnEl")]
		[IntrinsicProperty()]
		public ext.Element BtnEl
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>
		/// This method returns an Array which provides substitution parameters for the {@link #template Template} used
		/// to create this Button&apos;s DOM structure.  Instances or subclasses which use a different Template to create a different DOM structure may need to provide their
		/// own implementation of this method.  The default implementation which provides data for the default {@link #template} returns an Array containing the
		/// following items:    The &amp;lt;button&amp;gt;&apos;s {@link #type}  A CSS class name applied to the Button&apos;s main &amp;lt;tbody&amp;gt; element which determines the button&apos;s scale and icon alignment.  A CSS class to determine the presence and position of an arrow icon. (&apos;x-btn-arrow&apos; or &apos;x-btn-arrow-bottom&apos; or &apos;&apos;)  The {@link #cls} CSS class name applied to the button&apos;s wrapping &amp;lt;table&amp;gt; element.  The Component id which is applied to the button&apos;s wrapping &amp;lt;table&amp;gt; element.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;This method returns an Array which provides substitution parameters for the {@link #template Template} used
		/// to create this Button&apos;s DOM structure.&lt;/p&gt;
		/// &lt;p&gt;Instances or subclasses which use a different Template to create a different DOM structure may need to provide their
		/// own implementation of this method.&lt;/p&gt;
		/// &lt;p&gt;The default implementation which provides data for the default {@link #template} returns an Array containing the
		/// following items:&lt;/p&gt;&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;The &amp;lt;button&amp;gt;&apos;s {@link #type}&lt;/li&gt;
		/// &lt;li&gt;A CSS class name applied to the Button&apos;s main &amp;lt;tbody&amp;gt; element which determines the button&apos;s scale and icon alignment.&lt;/li&gt;
		/// &lt;li&gt;A CSS class to determine the presence and position of an arrow icon. (&lt;code&gt;&apos;x-btn-arrow&apos;&lt;/code&gt; or &lt;code&gt;&apos;x-btn-arrow-bottom&apos;&lt;/code&gt; or &lt;code&gt;&apos;&apos;&lt;/code&gt;)&lt;/li&gt;
		/// &lt;li&gt;The {@link #cls} CSS class name applied to the button&apos;s wrapping &amp;lt;table&amp;gt; element.&lt;/li&gt;
		/// &lt;li&gt;The Component id which is applied to the button&apos;s wrapping &amp;lt;table&amp;gt; element.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <returns>Substitution data for a Template.</returns>
		[ScriptName("getTemplateArgs")]
		public System.Array GetTemplateArgs()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Sets the CSS class that provides a background image to use as the button&apos;s icon. This method also changes
		/// the value of the {@link iconCls} config internally.
		/// </summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="cls">The CSS class providing the icon image</param>
		/// <returns>this</returns>
		[ScriptName("setIconClass")]
		public ext.Button SetIconClass(string cls)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets this Button&apos;s text</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="text">The button text</param>
		/// <returns>this</returns>
		[ScriptName("setText")]
		public ext.Button SetText(string text)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Sets the background image (inline style) of the button. This method also changes
		/// the value of the {@link icon} config internally.
		/// </summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="icon">The path to an image to display in the button</param>
		/// <returns>this</returns>
		[ScriptName("setIcon")]
		public ext.Button SetIcon(string icon)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the text for this Button</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <returns>The button text</returns>
		[ScriptName("getText")]
		public string GetText()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Show this button&apos;s menu (if it has one)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("showMenu")]
		public void ShowMenu()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Hide this button&apos;s menu (if it has one)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("hideMenu")]
		public void HideMenu()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns true if the button has a menu and it is visible</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("hasVisibleMenu")]
		public bool HasVisibleMenu()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the pressed button in the passed group or null</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="group"></param>
		[ScriptName("getPressed")]
		public ext.Button GetPressed(string group)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the tooltip for this Button.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="tooltip">
		/// This may be:&lt;div class=&quot;mdesc-details&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;String&lt;/b&gt; : A string to be used as innerHTML (html tags are accepted) to show in a tooltip&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;Object&lt;/b&gt; : A configuration object for {@link Ext.QuickTips#register}.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("setTooltip")]
		public ext.Button SetTooltip(string tooltip)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the tooltip for this Button.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="tooltip">
		/// This may be:&lt;div class=&quot;mdesc-details&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;String&lt;/b&gt; : A string to be used as innerHTML (html tags are accepted) to show in a tooltip&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;Object&lt;/b&gt; : A configuration object for {@link Ext.QuickTips#register}.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("setTooltip")]
		public ext.Button SetTooltip(object tooltip)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Assigns this Button&apos;s click handler</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="handler">The function to call when the button is clicked</param>
		/// <param name="scope">
		/// The scope (<c>this</c> reference) in which the handler function is executed.
		/// Defaults to this Button.
		/// </param>
		/// <returns>this</returns>
		[ScriptName("setHandler")]
		public ext.Button SetHandler(System.Delegate handler, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Assigns this Button&apos;s click handler</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="handler">The function to call when the button is clicked</param>
		/// <returns>this</returns>
		[ScriptName("setHandler")]
		public ext.Button SetHandler(System.Delegate handler)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>If a state it passed, it becomes the pressed state otherwise the current state is toggled.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="state">Force a particular state</param>
		/// <param name="supressEvent">True to stop events being fired when calling this method.</param>
		/// <returns>this</returns>
		[ScriptName("toggle")]
		public ext.Button ToggleMethod(bool state, bool supressEvent)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>If a state it passed, it becomes the pressed state otherwise the current state is toggled.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <param name="state">Force a particular state</param>
		/// <returns>this</returns>
		[ScriptName("toggle")]
		public ext.Button ToggleMethod(bool state)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>If a state it passed, it becomes the pressed state otherwise the current state is toggled.</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		/// <returns>this</returns>
		[ScriptName("toggle")]
		public ext.Button ToggleMethod()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires when this button is clicked</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("click")]
		public event ext.auto.Delegate_ext_Button_And_ext_EventObject Click;
		
		/// <summary>Fires when the &apos;pressed&apos; state of this button changes (only if enableToggle = true)</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("toggle")]
		public event ext.auto.Delegate_ext_Button_And_System_Boolean Toggle;
		
		/// <summary>Fires when the mouse hovers over the button</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("mouseover")]
		public event ext.auto.Delegate_ext_Button_And_System_Html_ElementEvent Mouseover;
		
		/// <summary>Fires when the mouse exits the button</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("mouseout")]
		public event ext.auto.Delegate_ext_Button_And_System_Html_ElementEvent Mouseout;
		
		/// <summary>If this button has a menu, this event fires when it is shown</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menushow")]
		public event ext.auto.Delegate_ext_Button_And_ext_menu_Menu Menushow;
		
		/// <summary>If this button has a menu, this event fires when it is hidden</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menuhide")]
		public event ext.auto.Delegate_ext_Button_And_ext_menu_Menu Menuhide;
		
		/// <summary>If this button has a menu, this event fires when the mouse enters the menu triggering element</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menutriggerover")]
		public event ext.auto.Delegate_ext_Button_And_ext_menu_Menu_And_ext_EventObject Menutriggerover;
		
		/// <summary>If this button has a menu, this event fires when the mouse leaves the menu triggering element</summary>
		/// <definedin>src\widgets\Button.js</definedin>
		[ScriptName("menutriggerout")]
		public event ext.auto.Delegate_ext_Button_And_ext_menu_Menu_And_ext_EventObject Menutriggerout;
		#endregion
	}
}
